
const list = [1, 2, 3, 4, 5]

// 定义一个数组，该数组中只能放数字类型的数据
const list1: number[] = [1, 2, 3, 4, 5]

// 该写法是错误，不能将字符串类型的数据添加在一个数字类型的数组中
// list1.push('你好')
list1.push(1)


// 泛型的写法
const list2: Array<number> = [1, 2, 3, 4, 5]


// 定义数组中数据类型有多种的情况下，可以使用 | 隔开
const list3: (string | number)[] = [1, 2, 3, 4, 5, '你好', 6, '世界']
// 泛型写法
const list4: Array<string | number> = [1, 2, 3, 4, 5, '你好', 6, '世界']

// 如果数组中放的是对象，那么可以怎么写？
const list5: {
    name: string;
    age: number;
}[] = [
        {
            name: '张三',
            age: 18
        }, {
            name: '李四',
            age: 19
        }
    ]

interface iListUser {
    name: string,
    age: number,
    sex?: any
}

const list6: iListUser[] = [
    {
        name: '张三',
        age: 18
    }, {
        name: '李四',
        age: 19
    }
]
// console.log(list6[0].name);


// 泛型写法
const list7: Array<iListUser> = [
    {
        name: '张三',
        age: 18
    }, {
        name: '李四',
        age: 19
    }
]


// 定义一个类型
type tType = string | number | boolean

const list8: tType[] = [1, '2', true]

